
export interface CategoriesType {
	child ?: Array<CategoriesType>;
	id ?: number;
	imageUrl ?: string;
	name ?: string;
	sort ?: number;
}

export interface GoodsListType {
	className ?: string;
	limit ?: number;
	page ?: number;
	totalCount ?: number;
	totalPages ?: number;
	where ?: string;
	list ?: Array<GoodsType>;
	[key : string] : any;
}

export interface GoodsType {
	brandId ?: number;
	brief ?: string;
	buyCount ?: number;
	commentsCount ?: number;
	createTime ?: string;
	goodsCategoryId ?: number;
	goodsTypeId ?: number;
	id ?: number;
	image ?: string;
	initialSales ?: number;
	isHot ?: boolean;
	isInActivity ?: boolean;
	isNomalVirtual ?: boolean;
	isRecommend ?: boolean;
	labelIds ?: null | number | string;
	mktprice ?: number;
	name ?: string;
	points ?: number;
	pointsDeduction ?: number;
	price ?: number;
	sort ?: number;
	stock ?: number;
	unit ?: string;
	video ?: string;
	viewCount ?: number;
	weight ?: number;
	[key : string] : any;
}

/** 商品详情 常见问题/发货/服务 模型 */
export interface CommonQuestionServiceType {
	description ?: string;
	id ?: number;
	isShow ?: boolean;
	sortId ?: number;
	title ?: string;
	type ?: number;
}

/** 商品评价模型 */
export interface GoodsPictureType {
	commentsCount ?: number;
	list ?: Array<GoodsPictureListType>;
	totalPages ?: number;
}
export interface GoodsPictureListType {
	addon ?: string;
	avatarImage ?: string;
	commentId ?: number;
	contentBody ?: string;
	createTime ?: string;
	goodName ?: string;
	goodsId ?: number;
	id ?: number;
	images ?: string | null;
	imagesArr ?: Array<string> | string | null;
	isDisplay ?: boolean;
	mobile ?: string;
	nickName ?: string;
	orderId ?: string;
	score ?: number;
	sellerContent ?: string | null;
	userId ?: number;
}

/** 商品参数模型 */
export interface GoodsParamsType {
	name : string;
	value : string;
}

/** 商品代理价格列表模型 */
export interface GoodsAgentListType {
	agentGoodsId ?: number;
	agentGradeId ?: number;
	agentGradePrice ?: number;
	createTime ?: string;
	goodId ?: number;
	id ?: number;
	isDel ?: boolean;
	productCostPrice ?: number;
	productId ?: number;
	productPrice ?: number;
	updateTime ?: string | null;
}

export interface GoodsPromotionType {
	conditions ?: Array<string>;
	effectiveDays ?: number;
	effectiveHours ?: number;
	endTime ?: string;
	id ?: number;
	isAutoReceive ?: boolean;
	isDel ?: boolean;
	isEnable ?: boolean;
	isExclusive ?: boolean;
	maxGoodsNums ?: number;
	maxNums ?: number;
	maxRecevieNums ?: number;
	name ?: string;
	parameters : any;
	results ?: Array<string>;
	sort ?: number;
	startTime ?: string;
	type ?: number;
}

export interface GoodsSkuListType {
	goods_id ?: string;
	goods_name ?: string;
	image ?: string;
	price ?: number;
	sku_name_arr ?: Array<string>;
	stock ?: number;
	_id ?: string
    [key:string]:any;
}

export interface GoodsSpecListType {
	list ?: Array<GoodsSpecListType>;
	name ?: string;
	select ?: boolean;
	show ?: boolean;
    [key:string]:any;
}

export interface GoodsFootprintType {
	createTime ?: string;
	goodImage ?: string;
	goodsId ?: number;
	goodsName ?: string;
	id ?: number;
	isCollection ?: boolean;
	isdel ?: boolean;
	userId ?: number;
}


export interface ServiceGoodsType {
	allowedMemberships ?: Array<string>;
	title ?: string;
	description ?: string;
	maxBuyNumber ?: number;
	id ?: number;
	money ?: number;
	thumbnail ?: string;
	consumableStores ?: Array<string>;
	createTime ?: string;
	endTime ?: string;
	[key : string] : any;
}